1. Field of the Invention
This invention relates to Gray code counters and in particular to a Gray code counter that employs a modular type of sequencing.
2. Description of the Prior Art
Conventional electrical counters are devices characterized by a state representative of a number. When the counter receives an appropriate signal, the number represented is increased or decreased by unity or by an arbitrary constant. The counter is capable of bringing the number to a specified value.
Digital computers and programmable controllers use counters to control the sequence and execution of program steps. An instruction type counter is utilized to indicate the location of the next computer instruction to be interpreted. Decoding counters are employed to give an output indication at a predetermined count. The output of the decoder is used to initiate a stepping function and to reset the counter. Conventional decoding counters are known to experience glitches, particularly when there is more than a one bit change from one number or expression to the next.
In the past, Gray code counters have been used, particularly for applications such as the transmission of telemetry data. The Gray code is a binary code in which sequential numbers are represented by binary expressions, each of which differs from the preceding expression by one bit in one place only. The Gray code has an advantage in providing a relatively simple decoding operation with glitch-free decoded outputs. However, Gray code counters were limited in use because they generally required more logic gates than other conventional counters, which caused undesirable propagation delay with resultant degradation in performance. Also prior art Gray code counters required JK flip-flops and NOR gates which added to the complexity and cost of the counter. In addition, when processing numbers or expressions each having more than four bits, for example, Gray code counters were relatively difficult to design. Complex equations representing expressions or states of the counter were required to define the counting sequence. Furthermore, it was found to be difficult to provide a decrementing feature in Gray code counters, and increment/decrement Gray code counters were not attempted or implemented.